#ifndef GLWINDOW_H
#define GLWINDOW_H

#include <QMainWindow>
#include <QGLWidget>
#include <QtOpenGL>
#include <QTimer>
#include "controller.h"
class GLWindow;
#include "mainwindow.h"

class GLWindow : public QGLWidget
{
    Q_OBJECT
private:
    Ui::MainWindow *ui;
    QString s;
    QTimer *timer;
public:
    GLWindow(QWidget *parent = 0);
    Controller *con;
    void keyPressEvent(QKeyEvent *ke); // Для перехвата нажатия клавиш на клавиатуре
    void keyReleaseEvent(QKeyEvent *ke);
    void setUi(Ui::MainWindow *newUi);
protected:
    void initializeGL(); // Метод для инициализирования opengl
    void resizeGL(int nWidth, int nHeight); // Метод вызываемый после каждого изменения размера окна
    void paintGL(); // Метод для вывода изображения на экран
    void mouseMoveEvent(QMouseEvent *me); // Метод реагирует на перемещение указателя, но по умолчанию setMouseTracking(false)
    void mousePressEvent(QMouseEvent *me); // Реагирует на нажатие кнопок мыши
    void mouseReleaseEvent(QMouseEvent *me); // Метод реагирует на "отжатие" кнопки мыши
};

#endif // GLWINDOW_H
